home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VQTFINFO.S < prev    next >
Text File  |  1993-03-26  |  2KB  |  66 lines

  1. ;*========================================================================
  2. ;* VDIFAST Public Domain VDI bindings.
  3. ;*========================================================================
  4.  
  5.  
  6. ;*------------------------------------------------------------------------
  7. ;* Inquire font information.
  8. ;*------------------------------------------------------------------------
  9.  
  10.           globl     _vqt_fontinfo
  11. _vqt_fontinfo:
  12. ;    .cargs    #8,handle.w,minade.l,maxade.l,dist.l,maxw.l,effects.l
  13.  
  14. handle      =         8
  15. minade      =         10
  16. maxade      =         14
  17. dist      =         18
  18. maxw      =         22
  19. effects   =         26
  20.  
  21.           link        a6,#-24             ;* Allocate intout[2], ptsout[5].
  22.  
  23. ;          VContrl    #131
  24.           move.w    handle(a6),-(sp)    ; contrl[6]
  25.           clr.l     -(sp)                ; contrl[5,4]
  26.           clr.l     -(sp)                ; contrl[3,2]
  27.           clr.w     -(sp)                ; contrl[1]
  28.           move.w    #131,-(sp)            ; contrl[0]
  29.  
  30.           pea        -20(a6)             ;* -> ptsout
  31.           pea        -24(a6)             ;* -> intout
  32.           subq.l    #8,sp                ;* -> ptsin, intin
  33.           pea        16(sp)                ;* -> contrl
  34.  
  35.           move.l    sp,d1
  36.           jsr        vditrap
  37.  
  38.           lea        -24(a6),a0            ;* Point to intout.
  39.           move.l    minade(a6),a1        ;* Return minADE
  40.           move.w    (a0)+,(a1)            ;* from intout[0].
  41.           move.l    maxade(a6),a1        ;* Return maxADE
  42.           move.w    (a0)+,(a1)            ;* from, intout[1].
  43.  
  44.           move.l    maxw(a6),a1         ;* Return maxwidth
  45.           move.w    (a0)+,(a1)            ;* from ptsout[0].
  46.  
  47.           move.l    a2,d1                ;* Save a2 for Laser C compatibility.
  48.           move.l    dist(a6),a1         ;* Pointer to distance
  49.           move.l    effects(a6),a2        ;* Pointer to effects
  50.  
  51.           move.w    (a0)+,(a1)+         ;* dist[0] = ptsout[1]
  52.           move.w    (a0)+,(a2)+         ;* eff[0]  = ptsout[2]
  53.           move.w    (a0)+,(a1)+         ;* dist[1] = ptsout[3]
  54.           move.w    (a0)+,(a2)+         ;* eff[1]  = ptsout[4]
  55.           move.w    (a0)+,(a1)+         ;* dist[2] = ptsout[5]
  56.           move.w    (a0)+,(a2)+         ;* eff[2]  = ptsout[6]
  57.           move.w    (a0)+,(a1)+         ;* dist[3] = ptsout[7]
  58.           tst.w     (a0)+                ;* notused - pstout[8]
  59.           move.w    (a0),(a1)            ;* dist[4] = ptsout[9]
  60.  
  61.           move.l    d1,a2                ;* Restore a2.
  62.           unlk        a6
  63.           rts
  64.  
  65.           end
  66.